package programa;

import excepciones.ExcepcionCantidadDeTarjetasAmarillasIncorrecta;

public class DatosDeUnaFechaDeUnJugador {
	
	//ATRIBUTOS
	protected double puntajeDelPartido;
	protected int cantidadDeGolesDeJugadaAfavor;
	protected int cantidadDePenalesConvertidos;
	protected int cantidadDePenalesErrados;
	protected int cantidadDeGolesEnContra;
	protected int cantidadDeTarjetasAmarillas;
	protected boolean fueExpulsado;
	protected boolean fueFigura;
	protected boolean fueChenemigo;
	
	//METODOS
	public DatosDeUnaFechaDeUnJugador(){
		
		this.puntajeDelPartido = 0;
		this.cantidadDeGolesDeJugadaAfavor = 0;
		this.cantidadDePenalesConvertidos = 0;
		this.cantidadDePenalesErrados = 0;
		this.cantidadDeGolesEnContra = 0;
		this.cantidadDeTarjetasAmarillas = 0;
		this.fueExpulsado = false;
		this.fueFigura = false;
		this.fueChenemigo = false;
		
	}
	
	//****************************************************************************
	
	public void jugadorRecibioPuntaje(double unPuntaje){
		
		this.puntajeDelPartido = unPuntaje;
		
	}
	
	//****************************************************************************
	
	public void jugadorHizoCantidadDeGolesDeJugadaAfavor(int unaCantidadDeGolesConvertidos){
		
		this.cantidadDeGolesDeJugadaAfavor = unaCantidadDeGolesConvertidos;
		
	}
	
	//****************************************************************************
	
	public void jugadorHizoCantidadDeGolesDePenal(int unaCantidadDePenalesConvertidos){
		
		this.cantidadDePenalesConvertidos = unaCantidadDePenalesConvertidos;
		
	}
	
	//****************************************************************************
	
	public void jugadorErroCantidadDePenales(int unaCantidadDePenalesErrados){
		
		this.cantidadDePenalesErrados = unaCantidadDePenalesErrados;
		
	}
	
	//****************************************************************************
	
	public void jugadorHizoCantidadDeGolesEnContra(int unaCantidadDeGolesEnContra){
		
		this.cantidadDeGolesEnContra = unaCantidadDeGolesEnContra;
		
	}
	
	//****************************************************************************

	public void jugadorObtuvoCantidadDeTarjetasAmarillas(int unaCantidad) throws ExcepcionCantidadDeTarjetasAmarillasIncorrecta{
		
		if(unaCantidad >= 0 && unaCantidad < 3){
			
			this.cantidadDeTarjetasAmarillas = unaCantidad;
			
		}else{
			
			throw new ExcepcionCantidadDeTarjetasAmarillasIncorrecta();
			
		}
		
	}
	
	//************************************************************************
	
	public void jugadorSalioExpulsado(){
		
		this.fueExpulsado = true;
		
	}
	
	//************************************************************************
	
	public void jugadorSalioFigura(){
		
		this.fueFigura = true;
		
	}
	
	//****************************************************************************
	
	public void jugadorSalioChenemigo(){
		
		this.fueChenemigo = true;
		
	}
	
	//****************************************************************************
	
	public double obtenerPuntajeDelPartido(){
		
		return this.puntajeDelPartido;
		
	}
	
	//****************************************************************************
	
	public int obtenerCantidadDeGolesDeJugadaAfavorRealizados(){
		
		return this.cantidadDeGolesDeJugadaAfavor;
		
	}
	
	//****************************************************************************
	
	public int obtenerCantidadDeGolesDePenalRealizados(){
		
		return this.cantidadDePenalesConvertidos;
		
	}
	
	//****************************************************************************
	
	public int obtenerCantidadDePenalesErrados(){
		
		return this.cantidadDePenalesErrados;
		
	}
	
	//****************************************************************************
	
	public int obtenerCantidadDeGolesEnContraRealizados(){
		
		return this.cantidadDeGolesEnContra;
		
	}
	
	//************************************************************************
	
	public int obtenerCantidadDeTarjetasAmarillas(){
		
		return this.cantidadDeTarjetasAmarillas;
		
	}
	
	//************************************************************************
	
	public boolean jugadorFueExpulsado(){
		
		return this.fueExpulsado;
		
	}
	
	//****************************************************************************
	
	public boolean jugadorFueFigura(){
		
		return this.fueFigura;
				
	}
	
	//****************************************************************************
	
	public boolean jugadorFueChenemigo(){
		
		return this.fueChenemigo;
	}
	
	//****************************************************************************
	
}
